//使用toast方法时，可传参，也可以不传参。 
//传入参数时，要以对象为参数
//const toast = (options={}) => {}


//如果用户传入对象作为参数
//在形参位置通过解构的方式获取用户传入的参数，同时设置默认值
const toast = ({title='数据加载中。。',icon='none',duration=2000,mask=true} = {}) => {
  wx.showToast({
   title,
   icon,
   duration,
  mask
  })
}

const modal = (options = {})=>{
  //在方法内部需要Promise 返回用户操作
  //如果用户点击确定 需要通过resolve返回true
 //如果用户点击取消 需要通过resolve返回false
  return new Promise((resolve) => { 
      
  //默认的形参
  const defaultOpt ={
    title:'提示',
    content:'您确定执行该操作吗？',
    confirmColor: '#f3514f'
  }
 //通过Object.assin 方法将参数进行合并
 //需要使用传入的参数覆盖默认的参数
const opts = Object.assign({},defaultOpt,options)

wx.showModal({
  //将合并以后的参数通过展开运算符赋值给wxwx.showModal对象
  ...opts,
  complete({confirm,cancel}){
    confirm && resolve(true)
    cancel && resolve(false)
  }
})
})
}
//如果其他js文件需要用到toast方法  则可以通过模块的导入使用
   export {toast,modal}

   //可以挂载到wx顶级对象上
   wx.toast = toast
   wx.modal = modal